package org.marverse.scripting

import ScriptingUtil._

abstract class ErrorExpression extends Expression {

  override def childExpressions = Seq.empty
  override def expressionType(implicit ctx: MutableTypedMap[TypedKey, Any]) = NoType
  override def evaluate(implicit ctx: MutableTypedMap[TypedKey, Any]) = throw new RuntimeException("Evaluation of ErrorExpression")
  
}

case class TypeErrorExpr(val actual: Expression, val expected: Type) extends ErrorExpression {
  
}
